package subject.lianbiao;


import java.util.HashSet;
import java.util.List;

/**
 * 给你两个单链表的头节点 headA 和 headB ，
 * 请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点，返回 null 。
 */
public class getIntersectionNode {

    public static void main(String[] args) {
//        HashSet<ListNode> visited = new HashSet<>();
//
//        ListNode headA = new ListNode(1);
//        ListNode headB = new ListNode(2);
//        ListNode temp = headA;
//        while (temp != null){
//            visited.add(temp);
//            temp = temp.next;
//        }
//        temp = headB;
//        while (temp != null){
//            if(visited.contains(temp)){
//                System.out.println(temp);
//            }
//            temp = temp.next;
//
//        }

        ListNode  headA = new ListNode(1);
        ListNode  headB = new ListNode(2);

        if(headA == null || headB == null){
            System.out.println("");
        }

        ListNode pA = headA, pB = headB;

        while (pA != pB){
            pA = pA == null ? headB : pA.next;
            pB = pB == null ? headA : pB.next;
        }
        System.out.println(pA);
    }
}
